package dao

import (
	"wish_go/src/main/com/ajie/common"
	"wish_go/src/main/com/ajie/model"
	"wish_go/src/main/com/ajie/vo"
)

func PageArea(area *model.Area, pagination *vo.Pagination) (rows []model.Activity, total int64, err error) {
	// 分页查询
	offset := (pagination.PageNum - 1) * pagination.PageSize
	db := common.GetDB()
	err = db.Model(&area).Where(area).Count(&total).Limit(pagination.PageSize).Offset(offset).Order(pagination.SortName).Find(&rows).Error
	return
}

// 筛选查出所有，无需分页
func AllArea(area *model.Area) (rows []*model.Area, err error) {
	// 分页查询
	db := common.GetDB()
	err = db.Model(&area).Where(area).Order("area_code asc").Find(&rows).Error
	return
}

func InsertArea(area model.Area) (err error) {
	db := common.GetDB()
	// 添加数据
	err = db.Create(&area).Error
	return
}

func UpdateArea(area model.Area) (err error) {
	db := common.GetDB()
	// 更新数据
	err = db.Model(&area).Select("name", "short_name", "update_name", "parent_code").Updates(area).Error
	return

}

func DeleteArea(area model.Area) (err error) {
	db := common.GetDB()
	// 删除数据。根据主键删除--存在deleted_at 就软删除
	err = db.Delete(&area).Error
	return
}
